Jenkins&gitee持续化集成
东北小麦客 2021-02-15 JenkinsvuepressDocker
用到的工具:
- 阿里云服务器
docker
- jenkins
- nginx
- gitee
- vuepress
# 一、拉取JenKins
镜像
docker pull jenkins/jenkins:lts
# 1-1.新建JenKins
挂载目录
cd /var
mkdir jenkins_home
# 修改 jenkins_home文件夹权限
chmod -R 777 /var/jenkins_home
# 1-2.启动jenkins
容器
# e5599f396096 => 镜像ID
docker run -p 50000:50000 -p 8086:8080 \
-d \
--name web_jenkins \
-v /var/jenkins_home:/var/jenkins_home \
e5599f396096
# 1-3.获取web_jenkins
容器的登录密码
# 切换文件路径
cd /var/jenkins_home/secrets
# 查看初始密码
vim initialAdminPassword
# 1-4.输入用户密码, 登录jenkins控制台
# 1-4-1.更换安装源(换为国内的安装源)
方式1
# 切换路径
cd /var/jenkins_home
# 编辑文件
vim hudson.model.UpdateCenter.xml
# 将 url 的标签内容更改为
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json
方式2
登录jenkins控制台,然后进入 Manage Jenkins -》 Manage Plugin -》 Advanced (系统管理 -》管理插件-》高级) 最下面有 Update Site(升级站点),URL内容更改为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json
,然后submit,check now
# 1-4-2.安装插件
需要安装的插件列表:
Chinese
中文支持NodeJS Plugin
用于安装nodejsGitee Plugin
gitee支持Publish Over SSH
用于推送项目构建完成后文件
1-4-2.重启web_jenkins
容器
# docker restart jenkins容器名称
docker restart web_jenkins
配置nodejs版本号( 系统管理 -》 全局工具配置 )
# 1-5.构建一个自由风格的软件项目
# 1-5-1.完善“源码管理”
# 1-5-2.完善“构建触发器”
记录web_jenkins 项目生成的url: http://106.15.195.79:8086/gitee-project/vuepress
用于在Gitee webhook 中回填
登录gitee
# 1-5-3.完善“构建环境”
# 1-5-4.完善“构建”
rm -rf public &&
npm config set registry https://registry.npm.taobao.org &&
npm install &&
npm run build
# cd build &&
# tar -zcvf build.tar.gz *
1-5-5.完善“构建后操作”
因为Jenkins
和nginx
同在一台机器上,所以在每次构建完成后需重启 部署vuepress
的nginx
容器
# docker restart 部署vuepress的nginx容器名称
docker restart vuepress
# 二、拉取nginx
镜像
docker pull nginx
# 2-1.启动nginx
容器
参数解读:
vuepress => 容器名称
/root/myitem/vuepress/nginx.conf => nginx配置文件
/var/jenkins_home/workspace/vuepress/public
=>jenkins容器自动构建后的文件夹
53f3fd8007f7 => nginx镜像Id
docker run -p 8080:80 \
-d \
--name vuepress \
-v /root/myitem/vuepress/nginx.conf:/etc/nginx/nginx.conf \
-v /var/jenkins_home/workspace/vuepress/public:/usr/share/nginx/html \
53f3fd8007f7